Trace semantics for concurrent objects
نویسندگان
چکیده
The theory of traces (the theory of free partial commutative monoids) is used to describe the behavior of systems of concurrent objects. A composition operation on systems and a synchronization operation on behaviors are presented: they allow to derive the behavior of complex systems from the behavior of its components. To address fundamental issues of concurrent semantics for objects in general, we concentrate on a simple model where objects communicate via asynchronous message passing and are only capable of sending messages, creating more objects and changing the way they react to incoming messages. The semantics is built from two simple concepts: a set of events representing the reception of messages by objects, and a binary symmetric and irre exive relation on events|independence|representing permissible concurrency. Causality, the dual notion of concurrency, is expressed by the dependence relation|the complement of independence. Executions of systems are described by a traces: labeled acyclic graphs where nodes are labeled with events and the only edges are between di erent nodes labeled with dependent events. The behavior of a system is the set of traces representing all possible executions. We achieve a simple and intuitive description of the behavior of concurrent objects where both causality and concurrency are explicit. When compared to other semantics for concurrent objects, trace semantics yields a more abstract description, in the sense that more similarly behaving computations are identi ed.
منابع مشابه
A Fully Abstract May Testing Semantics for Concurrent Objects
This paper provides a fully abstract semantics for a variant of the concurrent object calculus. We define may testing for concurrent object components and then characterise it using a trace semantics inspired by UML interaction diagrams. The main result of this paper is to show that the trace semantics is fully abstract for may testing. This is the first such result for a concurrent object lang...
متن کاملVerification of Open Concurrent Object Systems
A concurrent object system is a dynamically growing collection of concurrently interacting objects. Such a system is called open if the environment of the system is unknown. Proving properties about open systems is challenging because the properties must be shown to hold for all possible environments of the system. Hierarchical reasoning, which infers properties of large components from the pro...
متن کاملLocally Abstract, Globally Concrete Semantics of Concurrent Programming Languages
Language semantics that is formal and mathematically precise, is the essential prerequisite for the design of logics and calculi that permit automated reasoning about programs. The most popular approach to programming language semantics—small step operational semantics (SOS)—is not modular in the sense that it does not separate conceptual layers in the target language. SOS is also hard to relat...
متن کاملTypes for Active Objects Based on Trace Semantics
Static typing and subtyping are useful for the support of incremental reenement and reuse in object-oriented languages. Although demanded, there is currently no appropriate type model for concurrent object-oriented languages that supports dynamic behavior modiications. We propose a type model based on a process calculus with trace semantics and demonstrate its use in a simple language. This mod...
متن کاملObject Connectivity and Full Abstraction for a Concurrent Calculus of Classes
The concurrent object calculus has been investigated as a core calculus for imperative, object-oriented languages with multithreading and heap-allocated objects. The combination of this form of concurrency with objects corresponds to features known from the popular language Java. One distinctive feature, however, of the concurrent object calculus is that it is object-based, whereas the mainstre...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1992